Session Initiation Protocol (SIP) is a signalling protocol used e.g. for controlling communication sessions, such as voice or video calls over Internet Protocol (IP). The protocol is used for creating, modifying and terminating two-party or multiparty sessions. SIP applications also include video conferencing, streaming multimedia distribution, instant messaging, file transfers and online games. A SIP telecommunications device, e.g. a SIP phone, is a SIP user agent that provides traditional call functions of a telephone, such as dial, answer, reject, hold/unhold, and call transfer. SIP is increasingly implemented as a standard telephony platform.
One application using SIP is Internet Protocol Multimedia Subsystem (IMS) services. IMS is an architectural framework for delivering Internet Protocol (IP) multimedia services, and it uses a protocol, such as the SIP protocol.
The major parts of a mobile phone using SIP consist of a modem subsystem and an Application Processing Engine (APE). In many cases IMS services are deployed both on the modem subsystem and the APE. A telephony oriented IMS service (e.g. Voice over Long-Term Evolution (LTE) or multimedia telephony IMS service) is naturally deployed on the modem subsystem as a counterpart to the circuit switched telephony service. A rich communication IMS service (e.g. Rich Communication Suite (RCS) presence and file transfer) is naturally deployed on the APE, close to deployment of phone book and file system.
The APE and the modem subsystem cannot communicate directly without the use of special Application Programming Interface (API) between them. It is intricate to define such an Application Programming Interface, since the two subsystems belong to different administrative domains.
Both the modem subsystem and the APE may have its own SIP stack, so that the IMS services are sending their SIP registrations to the SIP registrar completely independent of each other. The problem with this is that since every IMS service performs its own SIP registration, multiple SIP request messages are sent from the mobile phone to the SIP registrar. This means wasting of both network resources and processing and storage resources at the SIP registrar.
One way to avoid this could be to have only one common SIP stack deployed on the modem subsystem and to let all IMS services make use of this common SIP stack. However, a problem with this is that a common SIP stack used by both IMS services on the APE and IMS services on the modem subsystem requires new APIs between the APE and the modem subsystem. This is disadvantageous due to the fact that the APE and the modem subsystem belong to different administrative domains. Furthermore, no standardized or de facto API exists for this purpose.
US 2009/0245233 shows a system in which an application uses a Session Initiation Protocol (SIP) user agent and a third party SIP stack to establish connection and manage sessions and call states. The SIP user agent comprises special application interface needed to enable the application to interface with the third party SIP stack, while the third party SIP stack enabled the SIP user agent to manage SIP services associated with the application and a session.